package com.zhiqianbao.application;

import android.app.Application;
import android.content.Context;

import com.zhiqianbao.shared.SharedPreferanceUtils;
import com.zhiqianbao.utils.Constants;
import com.zhiqianbao.utils.TimeStatisticsUtil;
//import com.taobao.sophix.PatchStatus;
//import com.taobao.sophix.SophixManager;
//import com.taobao.sophix.listener.PatchLoadStatusListener;
//import com.taobao.sophix.PatchStatus;
//import com.taobao.sophix.SophixManager;
//import com.taobao.sophix.listener.PatchLoadStatusListener;
import com.zhiqianbao.utils.WorthPurseUtil;
import com.orm.SugarContext;
import com.tencent.mm.opensdk.openapi.IWXAPI;
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
import com.umeng.socialize.PlatformConfig;
import com.umeng.socialize.UMShareAPI;

/**
 * Created by 亮 on 2016/1/24.
 */
public class MyApplication extends Application {
    private static Context mContext;
    public static MyApplication myApplication;
    public TimeStatisticsUtil statisticsUtil;
    private SharedPreferanceUtils sharedPreferanceUtils;
    public static IWXAPI mWxApi;
    @Override
    public void onCreate() {
        super.onCreate();
        sharedPreferanceUtils = new SharedPreferanceUtils(this);
//        String web_url = sharedPreferanceUtils.getWebAdress();
//        String api_url = sharedPreferanceUtils.getApiAdress();
//        if (!TextUtils.isEmpty(web_url) && (!TextUtils.isEmpty(api_url))) {
//            Constants.WEB_ROOT = web_url;
//            Constants.API_ROOT = api_url;
//        } else {
//            Constants.WEB_ROOT = "http://192.168.1.60:81/mimidai-web";
//            Constants.API_ROOT = "http://192.168.1.60:81/mimidai-api";
//        }
        //初始化各个数据库表
        WorthPurseUtil.init();
        SugarContext.init(this);
        /**引入热修复功能sdk实例化*/
        // initFotfix();
        myApplication = this;
        //实例化统计页面时间工具类
        statisticsUtil = new TimeStatisticsUtil();
        CrashHandler crashHandler = CrashHandler.getInstance();
        crashHandler.init(getApplicationContext());

        /**post的请求方式*/
//        UpdateConfig.initPost(this);
        /**分离网络使用的初始化*/
//        UpdateConfig.initNoUrl(this);
        mContext = getApplicationContext();
//        new PersistentCookieJar()
//        ClearableCookieJar
//        ClearableCookieJar cookieJar1 = new PersistentCookieJar(new SetCookieCache(), new SharedPrefsCookiePersistor(getApplicationContext()));

        UMShareAPI.get(this);//初始化sdk
        registToWX();
    }

    //    private void initFotfix() {
//        // initialize最好放在attachBaseContext最前面
//        SophixManager.getInstance().setContext(this)
//                .setAppVersion(Constants.APP_VERSION)
//                .setAesKey(null)
//                .setEnableDebug(true)
//                .setPatchLoadStatusStub(new PatchLoadStatusListener() {
//                    @Override
//                    public void onLoad(final int mode, final int code, final String info, final int handlePatchVersion) {
//                        // 补丁加载回调通知
//                        if (code == PatchStatus.CODE_LOAD_SUCCESS) {
//                            Toast.makeText(MyApplication.this, "补丁下载成功", Toast.LENGTH_SHORT).show();
//                            // 表明补丁加载成功
//                        } else if (code == PatchStatus.CODE_LOAD_RELAUNCH) {
//                            // 表明新补丁生效需要重启. 开发者可提示用户或者强制重启;
//                            // 建议: 用户可以监听进入后台事件, 然后应用自杀
//                            Toast.makeText(MyApplication.this, "需要重启", Toast.LENGTH_SHORT).show();
//                        } else if (code == PatchStatus.CODE_LOAD_FAIL) {
//                            // 内部引擎异常, 推荐此时清空本地补丁, 防止失败补丁重复加载
//                            Toast.makeText(MyApplication.this, "下载失败，需要删除", Toast.LENGTH_SHORT).show();
//                             SophixManager.getInstance().cleanPatches();
//                        } else {
//                            // 其它错误信息, 查看PatchStatus类说明
//                            //Toast.makeText(MyApplication.this, "其他错误", Toast.LENGTH_SHORT).show();
//                        }
//                    }
//                }).initialize();
//        /**
//         *queryAndLoadNewPatch不可放在attachBaseContext 中，
//         * 否则无网络权限，建议放在后面任意时刻，如onCreate中
//         */
//        SophixManager.getInstance().queryAndLoadNewPatch();
//
//    }

    private void registToWX() {
        //AppConst.WEIXIN.APP_ID是指你应用在微信开放平台上的AppID，记得替换。
        mWxApi = WXAPIFactory.createWXAPI(this, Constants.WX_ID, false);
        // 将该app注册到微信
        mWxApi.registerApp(Constants.WX_ID);
    }

    @Override
    public void onTerminate() {
        SugarContext.terminate();
        super.onTerminate();
    }

    public static Context getmContext() {
        return mContext;
    }

    {
//        //微信
//        PlatformConfig.setWeixin("wxdc1e388c3822c80b", "3baf1193c85774b3fd9d18447d76cab0");
//        //新浪微博(第三个参数为回调地址)
//        PlatformConfig.setSinaWeibo("3921700954", "04b48b094faeb16683c32669824ebdad","http://sns.whalecloud.com/sina2/callback");
//        //QQ
//        PlatformConfig.setQQZone("100424468", "c7394704798a158208a74ab60104f0ba");
        PlatformConfig.setWeixin("wxf4bad9a50902c5b3", "c48acbe6ba241583ff754fc98c80d9b6");
        PlatformConfig.setQQZone("1105139983", "z3fvUdHMJ5fd2QWV");
        PlatformConfig.setSinaWeibo("2551077640", "e02d937640a2bd6572b19028d5bfb4e4", "http://android.myapp.com/myapp/detail.htm?apkName=com.mimidai");

    }
}
